package com.mmaingenieria.MMAGestor.model;

import com.mmaingenieria.MMAGestor.database.DAOFactory;
import com.mmaingenieria.MMAGestor.enumerations.RolUsuario;
import com.mmaingenieria.MMAGestor.interfaces.InterfaceClienteDAO;
import com.mmaingenieria.MMAGestor.interfaces.InterfaceUsuarioDAO;

public class ModeloUsuario {
	//Atributos Miembro
	DAOFactory factoriaMySql;
	InterfaceUsuarioDAO interfaceUsuario;
	InterfaceClienteDAO interfaceCliente;
	
	//Constructor vacio
    //****************************************************************************************************************
	public ModeloUsuario() {
		super();
		this.factoriaMySql = DAOFactory.getDAOFactory(1);//creamos una factoria de MySql
		this.interfaceUsuario = factoriaMySql.getInterfaceUsuarioDAO();//creamos un interface de tipo Usuario
		this.interfaceCliente = factoriaMySql.getInterfaceClienteDAO();//creamos un interface de tipo Cliente
	}

	
	
	
	//Metodos de consulta de un usuario
	//*****************************************************************************************************************
	public boolean cambiarPassword(int _usuarioId, String _passVieja, String _passNueva,  RolUsuario _rolUsuarioSesion, int _usuarioSesion ){
		boolean resultado= false;
		if (_rolUsuarioSesion != RolUsuario.Administrador){
			String passUsuario= interfaceUsuario.getPasswordById(_usuarioId);
			if (passUsuario.equals(_passVieja)){
				boolean correcto = interfaceUsuario.updatePasswordById (_passNueva, _usuarioSesion, _usuarioId);
				if (correcto){
					resultado=true;
				}
			}			
		}else{
			boolean correcto = interfaceUsuario.updatePasswordById (_passNueva, _usuarioSesion, _usuarioId);
			if (correcto){
				resultado=true;
			}
		}		
		return resultado;
	}

}
